package com.atgouwu.scmall.seckill.scheduletask;

import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * 异步定时任务: 定时任务默认阻塞
 */
@EnableAsync //开启异步
@EnableScheduling
@Component
public class ScheduleTaskAsync {

    /**
     * 异步定时任务1: 1.创建scheduletask/ScheduleTaskAsync类:
     *             2.@EnableAsync  //开启异步
     *             3.@Async //异步
     */
    @Async //异步
    @Scheduled(cron = "0 0 0 * * ?") // 0 22 19 * * ?每天19点22执行, 0/3 * * * * ?每3秒执行一次, 0 0 0 * * ?每日0点执行, 0 0 0 1 * ?每月1号0点,(不允许第7位年,周几位置1-7表示周一到周日)
    public void saveScore() {
        System.out.println("业务代码");
    }

    /**
     * 异步定时任务2:
     */
    @Async //异步
    @Scheduled(cron = "0 0 0 * * ?") // 0 22 19 * * ?每天19点22执行, 0/3 * * * * ?每3秒执行一次, 0 0 0 * * ?每日0点执行, 0 0 0 1 * ?每月1号0点,(不允许第7位年,周几位置1-7表示周一到周日)
    public void saveUser() {
        System.out.println("业务代码");
    }

}
